package 刷题10月.笔试题;
import java.util.*;
//字符串数组的最小步数
public class Main2 {

    public static void main(String[] args) {
       // ["QWER","1234","qwe","666","QWER"],"QWER","666"
        System.out.println(minDistance(new String[]{"QWER","1234","qwe","666","QWER"},"QWER","666"));
    }

        /**
         *
         * @param strs string字符串一维数组
         * @param str1 string字符串
         * @param str2 string字符串
         * @return int整型
         */
//        public static int minDistance (String[] strs, String str1, String str2) {
//            // write code here
//            int j1=-1;
//            int j2=-1;
//            for(int i=0;i<strs.length;i++){
//                if(str1==null||str2==null||(!str1.equals(strs[i]))||(!str2.equals(strs[i]))){
//                    return -1;
//                }
//                if(str1.equals(strs[i])){
//                    j1=i;
//                }
//                if(str2.equals(strs[i])){
//                    j2=i;
//                }
//            }
//            return j2-j1;
//        }
    public static int minDistance (String[] strs, String str1, String str2) {
        // write code here
        if(str1==null||str2==null)
            return -1;
        if(str1.equals(str2)){
            return 0;
        }
        int last1=-1;
        int last2=-1;
        int min=Integer.MAX_VALUE;
        for(int i=0;i<strs.length;i++){
            if(strs[i].equals(str1)){
                min=Math.min(min,last2==-1?min:i-last2);
                last1=i;
            }
            if(strs[i].equals(str2)){
                min=Math.min(min,last1==-1?min:i-last1);
                last2=i;
            }
        }
        return min==Integer.MAX_VALUE?-1:min;
    }

}
